package com.quanyan.stadium.mapper;

import com.quanyan.stadium.entity.TbDatesportInfo;
import com.quanyan.stadium.entity.vo.GenderStructure;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

/**
 * Created by Zheng.Ke
 * Date 2016/7/19.
 */
public interface DatesportMapper {

    /**
     * 查找uid所参加的约运动
     * @param uid
     * @return
     */
    List<TbDatesportInfo> queryMyDatesport(@Param("uid") int uid,
                                           @Param("begin") int begin,
                                           @Param("pageSize") int pageSize);

    /**
     * 根据标签匹配度来查找
     * @param tbDatesportInfo
     * @param begin
     * @param pageSize
     * @return
     */
    List<TbDatesportInfo> matchTagDatesport(@Param("tbDatesportInfo") TbDatesportInfo tbDatesportInfo,
                                            @Param("begin") int begin,
                                            @Param("pageSize") int pageSize);

    /**
     * 更新邀请次数
     * @param inviteCount
     */
    void updateInviteCount(@Param("inviteCount") int inviteCount,
                           @Param("inviteUpdateTime") Date inviteUpdateTime);

    /**
     * 获取参加约运动的人数
     * @param datesportId
     * @return
     */
    int getJoinedCountByDatesportId(int datesportId);

    /**
     * 获取参加约运动人数的性别组成结构
     * @param datesportId
     * @return
     */
    List<GenderStructure> getJoinedPeopleGenderStructure(int datesportId);
}
